#include <stdio.h>
#include <iostream>
#include "myFunction.h"

void show(ListNode *node);

ListNode *createListNode(uint64_t number)
{

    uint64_t tempDigit1 = number % 10;
    number = number / 10;
    ListNode *Header = new ListNode(tempDigit1);
    ListNode *pointer = Header;
    while (number > 0)
    {
        uint64_t tempDigit1 = number % 10;
        number = number / 10;
        pointer->next = new ListNode(tempDigit1);
        pointer = pointer->next;
    }
    return Header;
}

int main(void)
{
    ListNode *l1 = createListNode(UINT64_MAX);
    ListNode *l2 = createListNode(UINT64_MAX);

    Solution *solution = new Solution();

    ListNode *l3 = solution->addTwoNumbers(l1, l2);

    show(l3);

    getchar();
    getchar();
}

void show(ListNode *node)
{
    while (node->next != NULL)
    {
        printf("%d", node->val);
        node = node->next;
    }
    printf("%d", node->val);
}